﻿//-----------------------------------------------------------------------
// <copyright>
// This file is subject to the terms and conditions of the Microsoft Public License (MS-PL).
// See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL for more details.
// </copyright>
//----------------------------------------------------------------------- 
using System;
using System.Collections.Generic;
using System.Windows;

namespace Fulcrum.ControlGenerator
{
    public interface IControlConfiguration
    {
        string AutomationPeerArguments { get; }
        string AutomationPeerName { get; }
        ICollection<IAttachedDependencyPropertyConfiguration> AttachedDependencyProperties { get; }
        ICollection<IDependencyPropertyConfiguration> DependencyProperties { get; }
        bool HasAutomationPeer { get; }
        LocalizationCategory LocalizationCategory { get; }
        Modifiability LocalizationModifiability { get; }
        Readability LocalizationReadability { get; }
        string Location { get; }
        string Name { get; }
        string Namespace { get; }
        bool OverrideStyleMetadata { get; }
        PropertyChangedEventType PropertyChangedEventType { get; }
        string Remarks { get; }
        ICollection<IRoutedCommandBindingConfiguration> RoutedCommandBindings { get; }
        ICollection<IRoutedCommandBindingConfiguration> RoutedCommands { get; }
        ICollection<IRoutedEventConfiguration> RoutedEvents { get; }
        string Summary { get; }
        ICollection<ITemplatePartConfiguration> TemplateParts { get; }
        ICollection<string> UsingNamespaces { get; }
    }
}
